package com.macro.mall.portal.service;

import com.macro.mall.common.api.CommonResult;
import com.macro.mall.dto.applet.*;
import com.macro.mall.vo.applet.AppletMemberSignVO;
import com.macro.mall.vo.applet.AppletRankVO;
import com.macro.mall.vo.applet.AppletStatsVO;

import java.util.List;

/**
 * @author xq
 * @description MemberClockService
 * @date 2024/2/23 13:52
 */
public interface MemberClockService {

    /**
     * 签到列表
     *
     * @param queryDto
     * @return
     */
    AppletMemberSignVO signList(QuerySignListDTO queryDto);

    /**
     * 签到
     *
     * @param req
     * @return
     */
    CommonResult sign(AppletSignDTO req);

    /**
     * 请假
     *
     * @param req
     * @return
     */
    CommonResult applyHoliday(AppletHolidayDTO req);

    /**
     * 统计打卡数据
     * @param userId
     * @return
     */
    AppletStatsVO statsClockData(Long userId);


    /**
     * 获取签到详情
     * @param req
     * @return
     */
    String clockDetail(AppletClockDetailDTO req);

    /**
     * 获取排序列表
     * @param req
     * @return
     */
    List<AppletRankVO> rankList(AppletRankDTO req);



}
